home *** CD-ROM | disk | FTP | other *** search
/ PC Answers 2002 January / PC Answers January 2002.7z / PC Answers January 2002.bin / graphics / freepixl / _SETUP.1 / pxlxplor.pxl < prev    next >
Text File  |  2001-03-22  |  10KB  |  305 lines

  1. Initialize:
  2.     Title$ = "PiXCL + Win95/98/NT Explorer"
  3.     UseCaption(Title$)
  4.     UseCoordinates(PIXEL)
  5.     SetColorPalette(BITMAP)
  6.     UseBackground(TRANSPARENT,166,166,166)
  7.     DrawBackground
  8.     WinLocate(Title$,700,200,990,400,Res)
  9.     WinGetClientRect("",cx1,cy1,cx2,cy2)
  10.     DirGet(SourceDir$)
  11.     SysCmdEndAt(Leave)
  12.  
  13.     WinShow(Title$,TOPMOST,Res)
  14.     InfoMenu(REMOVE)
  15.     WaitInput(100)
  16.     SetMenu("E&xit!",Leave,
  17.         ENDPOPUP,
  18.         "&Explorer",IGNORE,
  19.         "&DDE Init", Start_Explorer_DDE,
  20.         "&Requests",Requests_DDE,
  21.         "&FindFolder",FindFolder_DDE,
  22.         "&ExploreFolder",ExploreFolder_DDE,
  23.         "&ViewFolder",ViewFolder_DDE,
  24.         "F&indFile",FindFile_DDE,
  25.         ENDPOPUP,
  26.         "&Test Apps",IGNORE,
  27.         "&Access 97",Test_MSAccess,
  28.         "&Excel 97",Test_MSExcel,
  29.         "&Netscape",Test_Netscape,
  30.         ENDPOPUP)
  31.  
  32.         ChangeMenuItem("&FindFolder",GRAY,Res)
  33.         ChangeMenuItem("F&indFile",GRAY,Res)
  34.         ChangeMenuItem("&ExploreFolder",GRAY,Res)
  35.         ChangeMenuItem("&ViewFolder",GRAY,Res)
  36.  
  37.  
  38. Wait_for_Input: 
  39.     WaitInput()
  40.  
  41.  
  42. Leave:    {time to clean up after ourselves...we MUST clear the channel or Explorer 
  43.     is left hanging. Windows stil runs, but DDE inits fail, and rebooting is the only solution.}
  44.  
  45.     If ChanNum <> 0 Then DDETerminate(ChanNum)
  46.     WinClose("Find: All Files",Res)
  47.     WaitInput(200)
  48.     WinExist("Find: All Files",Res)
  49.     If Res = 1 Then Goto Leave
  50.     End
  51.  
  52. Test_Netscape:
  53.     DDEInitiate("Netscape","WWW_OpenURL",ChanNum)
  54.     DDEExecute(ChanNum,"file:///F|/HTML/welcome.htm",Res)
  55.  
  56.     Goto Wait_for_Input
  57.  
  58. Test_MSAccess:
  59.     DrawBackground
  60.     If ChanNum <> 0 Then DDETerminate(ChanNum)
  61.     DDEInitiate("MSAccess","System",ChanNum)
  62.     If ChanNum = 0 
  63.         DrawText(10,10,"DDE initiate failed")
  64.         DrawText(10,25,"Access may need to be started.")
  65.     Else
  66.         DrawText(10,10,"DDE conversation initiated")
  67.         DDERequest(ChanNum,"Formats",Res$)
  68.         If Res$ = "" Then Beep Res$ = "No Items listed"
  69.         MessageBox(OK,1,INFORMATION,Res$,"Access 'Formats' Items",Res)
  70.  
  71.         DDERequest(ChanNum,"Status",Res$)
  72.         If Res$ = "" Then Beep Res$ = "No Items listed"
  73.         MessageBox(OK,1,INFORMATION,Res$,"Access 'Status' Items",Res)
  74.  
  75.         DDERequest(ChanNum,"SysItems",Res$)
  76.         If Res$ = "" Then Beep Res$ = "No Items listed"
  77.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'SysItems' Items",Res)
  78.  
  79.         DDERequest(ChanNum,"Topics",Res$)
  80.         If Res$ = "" Then Beep Res$ = "No Items listed"
  81.         MessageBox(OK,1,INFORMATION,Res$,"Access 'Topics' Items",Res)
  82.  
  83.     Endif
  84.     Goto Wait_for_Input
  85.  
  86. Test_MSExcel:
  87.     DrawBackground
  88.     If ChanNum <> 0 Then DDETerminate(ChanNum)
  89.     DDEInitiate("Excel","System",ChanNum)
  90.     If ChanNum = 0 
  91.         DrawText(10,10,"DDE initiate failed")
  92.     Else
  93.         DrawText(10,10,"DDE conversation initiated")
  94.         DDERequest(ChanNum,"Formats",Res$)
  95.         If Res$ = "" Then Beep Res$ = "No Items listed"
  96.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'Formats' Items",Res)
  97. {
  98.         DDERequest(ChanNum,"Help",Res$)
  99.         If Res$ = "" Then Beep Res$ = "No Items listed"
  100.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'Help' Items",Res)
  101. }
  102.         DDERequest(ChanNum,"Status",Res$)
  103.         If Res$ = "" Then Beep Res$ = "No Items listed"
  104.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'Status' Items",Res)
  105. {
  106.         DDERequest(ChanNum,"ReturnMessage",Res$)
  107.         If Res$ = "" Then Beep Res$ = "No Items listed"
  108.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'ReturnMessage' Items",Res)
  109. }
  110.         DDERequest(ChanNum,"SysItems",Res$)
  111.         If Res$ = "" Then Beep Res$ = "No Items listed"
  112.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'SysItems' Items",Res)
  113. {
  114.         DDERequest(ChanNum,"TopicItemList",Res$)
  115.         If Res$ = "" Then Beep Res$ = "No Items listed"
  116.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'TopicItemList' Items",Res)
  117. }
  118.         DDERequest(ChanNum,"Topics",Res$)
  119.         If Res$ = "" Then Beep Res$ = "No Items listed"
  120.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'Topics' Items",Res)
  121.  
  122.         DDERequest(ChanNum,"Selection",Res$)
  123.         If Res$ = "" Then Beep Res$ = "No Items listed"
  124.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'Selection' Items",Res)
  125.  
  126.         DDERequest(ChanNum,"Protocols",Res$)
  127.         If Res$ = "" Then Beep Res$ = "No Items listed"
  128.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'Protocols' Items",Res)
  129.  
  130.         DDERequest(ChanNum,"EditEnvItems",Res$)
  131.         If Res$ = "" Then Beep Res$ = "No Items listed"
  132.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'EditEnvItems' Items",Res)
  133.     
  134.         DDETerminate(ChanNum)
  135.         DDEInitiate("Excel","[Book1]Sheet1",ChanNum)
  136.         DDERequest(ChanNum,"R1C1",Res$)
  137.         If Res$ = "" Then Beep Res$ = "No Items listed"
  138.         MessageBox(OK,1,INFORMATION,Res$,"Excel cell contents",Res)
  139.     
  140.         DDEPoke(ChanNum,"R1C2","More blah",Res)
  141.         DDERequest(ChanNum,"R1C2",Res$)
  142.         If Res$ = "" Then Beep Res$ = "No Items listed"
  143.         MessageBox(OK,1,INFORMATION,Res$,"Excel cell contents",Res)
  144.  
  145.     Endif
  146.     Goto Wait_for_Input
  147.  
  148.  
  149.  
  150. Start_Explorer_DDE: 
  151.     DrawBackground
  152.     If ChanNum <> 0 Then DDETerminate(ChanNum)
  153.     DDEInitiate("Folders","AppProperties",ChanNum)
  154.     If ChanNum = 0 
  155.         DrawText(10,10,"DDE initiate failed")
  156.     Else
  157.         DrawText(10,10,"DDE conversation initiated")
  158.         ChangeMenuItem("&DDE Init",GRAY,Res)
  159.         ChangeMenuItem("&FindFolder",ENABLE,Res)
  160.         ChangeMenuItem("F&indFile",ENABLE,Res)
  161.         ChangeMenuItem("&ExploreFolder",ENABLE,Res)
  162.         ChangeMenuItem("&ViewFolder",ENABLE,Res)
  163.     Endif
  164.     Goto Wait_for_Input
  165.  
  166. Requests_DDE:
  167.         DrawText(10,10,"DDE conversation initiated")
  168.         DDERequest(ChanNum,"Formats",Res$)
  169.         If Res$ = "" Then Beep Res$ = "No Items listed"
  170.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'Formats' Items",Res)
  171.  
  172.         DDERequest(ChanNum,"Help",Res$)
  173.         If Res$ = "" Then Beep Res$ = "No Items listed"
  174.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'Help' Items",Res)
  175.  
  176.         DDERequest(ChanNum,"Status",Res$)
  177.         If Res$ = "" Then Beep Res$ = "No Items listed"
  178.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'Status' Items",Res)
  179.  
  180.         DDERequest(ChanNum,"ReturnMessage",Res$)
  181.         If Res$ = "" Then Beep Res$ = "No Items listed"
  182.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'ReturnMessage' Items",Res)
  183.  
  184.         DDERequest(ChanNum,"SysItems",Res$)
  185.         If Res$ = "" Then Beep Res$ = "No Items listed"
  186.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'SysItems' Items",Res)
  187.  
  188.         DDERequest(ChanNum,"TopicItemList",Res$)
  189.         If Res$ = "" Then Beep Res$ = "No Items listed"
  190.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'TopicItemList' Items",Res)
  191.  
  192.         DDERequest(ChanNum,"Topics",Res$)
  193.         If Res$ = "" Then Beep Res$ = "No Items listed"
  194.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'Topics' Items",Res)
  195.  
  196.         DDERequest(ChanNum,"Selection",Res$)
  197.         If Res$ = "" Then Beep Res$ = "No Items listed"
  198.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'Selection' Items",Res)
  199.  
  200.         DDERequest(ChanNum,"Protocols",Res$)
  201.         If Res$ = "" Then Beep Res$ = "No Items listed"
  202.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'Protocols' Items",Res)
  203.  
  204.         DDERequest(ChanNum,"EditEnvItems",Res$)
  205.         If Res$ = "" Then Beep Res$ = "No Items listed"
  206.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'EditEnvItems' Items",Res)
  207.     
  208.     Goto Wait_for_Input
  209.  
  210. FindFolder_DDE: {display the Find: All Files dialog from explorer}
  211.     {
  212.       DDEexec = [FindFolder("%l", %I)]
  213.       arg#1 = the start-in [path]directory string, no spaces; quotes not needed
  214.       arg#2 = string. If different from arg#1, takes precedence,
  215.                      appears in the 'LookIn' edit control
  216.     }
  217.     UseCursor(WAIT)
  218.     DDEExecute(ChanNum,"[FindFolder( ,c:\windows\system  )]",Res)
  219.     If Res = 0 Then DrawText(10,25,"DDE Exec failed.") 
  220.     UseCursor(ARROW)
  221.     Goto Wait_for_Input
  222.  
  223.  
  224. ExploreFolder_DDE:  {display the Find: All Files dialog from explorer. }
  225.     {
  226.  
  227.       arg#1 = [path]directory; 
  228.       arg#2 =  unknown
  229.       arg#3 = 0 | 1  ->Explorer window not visible | visible
  230.     }
  231.     UseCursor(WAIT)
  232.     DDEExecute(ChanNum,"[ExploreFolder(c:\windows\system, , 1)]",Res)
  233.     If Res = 0 Then DrawText(10,25,"DDE Exec failed.") 
  234.     UseCursor(ARROW)
  235.     Goto Wait_for_Input
  236.  
  237.  
  238. ViewFolder_DDE:  {display the Find: All Files dialog from explorer. }
  239.     {arg#1 = [path]directory; 
  240.       arg#2 =  unknown at present. string ?
  241.       arg#3 = 0 ->Explorer not visible, 1-> explorer visible
  242.     }
  243.     UseCursor(WAIT)
  244.     DDEExecute(ChanNum,"[ViewFolder(c:\windows\system, 0, 1)]",Res)
  245.     If Res = 0 Then DrawText(10,25,"DDE Exec failed.") 
  246.     UseCursor(ARROW)
  247.     Goto Wait_for_Input
  248.  
  249.  
  250. FindFile_DDE: {display the Find: All Files dialog from explorer}
  251.     {arg#1 =  start-in directory string, has to be valid directory eg \ 
  252.         on the C: drive. Don't seem able to set the start disk
  253.         to any other disk.
  254.       arg#2 = some number ?
  255.     }
  256.     UseCursor(WAIT)
  257.     DDEExecute(ChanNum,"[OpenFindFile(\,0)]",Res)
  258.     If Res = 0 Then DrawText(10,25,"DDE Exec failed.") 
  259.     UseCursor(ARROW)
  260.     Goto Wait_for_Input
  261.  
  262. {
  263. Notes on Explorer and DDE, after poking through the Registry.
  264.  
  265. Directory.shell
  266. ->command = C:\WINDOWS\Explorer.exe
  267. ->DDEexec = [FindFolder("%l", %I)]
  268.    -> application = Folders        This is the DDE Service name.
  269.    -> topic = AppProperties
  270.  
  271. arg#1 = start directory string, "" means string or Item ?
  272. arg#2 = unknown, suspect integer value
  273.  
  274.  
  275.  
  276. Drive.shell.find
  277. ->command = C:\WINDOWS\Explorer.exe
  278. ->DDEexec = [FindFolder("%l", %I)]
  279.    -> application = Folders
  280.    -> topic = AppProperties
  281.  
  282. findfile.shell.open
  283. ->command = C:\WINDOWS\Explorer.exe
  284. ->DDEexec = [OpenFindFile("%1", %I)]
  285.    -> application = Folders
  286.    -> topic = AppProperties
  287.  
  288.  
  289.  
  290. Folder.Shell.Explore:
  291. ->command = C:\WINDOWS\Explorer.exe /e,/idlist,%I,%L
  292. ->DDE exec = [ExploreFolder("%l", %I, %S)] 
  293.    -> application = Folders
  294.    -> topic = AppProperties
  295.  
  296. Folder.Shell.Open
  297. ->command = C:\WINDOWS\Explorer.exe /idlist,%I,%L
  298.     
  299. %L has to be a directory
  300.  
  301. ->DDEexec = [ViewFolder("%l", %I, %S)]
  302.    -> application = Folders
  303.    -> topic = AppProperties
  304. }
  305.